package main

import (
	"errors"
	"fmt"
)

func tryRecover() {
	defer func() {
		r := recover()
		if r == nil {
			fmt.Println("没有异常需要处理")
			return
		}
		if er, ok := r.(error); ok {
			fmt.Println("发生了异常", er)
		} else {
			panic(fmt.Sprint("发生了未知的异常,无法处理"))
		}
	}()

	panic(errors.New("测试 recover"))
}
func main() {
	tryRecover()
}
